2.9 Voicemails mit vbox
 
Der Netzwerkserver kann noch andere Aufgaben für Sie wahrnehmen. Im Internet finden sich viele Lösungen, deren Dokumentation allerdings häufig viele Fragen unbeantwortet und Wünsche offen lässt. SUSE bietet im YaST mit den Funktionen Netzwerkgeräte . Anrufbeantworter und Netzwerkgeräte . Fax ebenfalls eine Lösung an. Diese finden Sie in den SUSE-Handbüchern dokumentiert. Ich verzichte daher in diesem Buch auf eine genauere Beschreibung.
2.9.1 Vbox mit ISDN
 
Wenn Sie ISDN-Kunde sind, wird Ihnen aufgefallen sein, dass gute Anrufbeantworter für ISDN ziemlich teuer sind. Eine Voicebox ist bei der deutschen Telekom bei ISDN-Komfort dabei, jedoch nur für die Haupt-MSN, jede weitere Voicebox kostet Geld. Wie wäre es also mit einem Anrufbeantworter, in dessen Konfiguration Sie minutengenau einrichten können, zu welcher Uhrzeit welche Ansage abgespult wird, bei der Sie für jeden Anrufer, der seine Rufnummer mitsendet, einen Namen hinterlegen können und der selbstverständlich auf verschiedene MSNs (ISDN-Rufnummern) reagieren kann?
Zum Schluss schickt Ihnen vbox die aufgezeichnete Nachricht als MP3-Datei per E-Mail. So stehen Ihnen Sprachnachrichten überall zur Verfügung.
Hardwarevoraussetzung
Damit Sie vbox benutzen können, benötigen Sie eine von Linux unterstützte ISDN-Karte. Ob Linux eine ISDN-Karte unterstützt, können Sie beispielsweise bei SUSE nachsehen: http://hardwaredb.suse.de.
Grundsätzlich lässt sich sagen, dass ISDN-PCI-Karten unterstützt werden und inzwischen auch einige USB-ISDN-Adapter. Ich bin bisher nur Besitzer eines USB-Adapters (Teledat USB 2a/b) und zweier ISA-ISDN-Karten (ITK ix1-micro und Teles 16.3). Für vbox wurde die Teles-ISA-Karte verwendet.
Exkurs
An dieser Stelle möchte ich auf die Ausführungen zu ISA-Karten in Kapitel 7.3, ISA-Netzwerkkarten, verweisen. Damit eine ISA-Karte funktioniert, müssen Sie zunächst im BIOS einen IRQ reservieren (ich habe IRQ 5 genommen und die Soundkarte deaktiviert). Nachfolgend müssen Sie unter Linux das Programm modconf als Benutzer root aufrufen. Unter dem Abschnitt /kernel/drivers/isdn/hisax müssen Sie in den Bereich hisax wechseln. Dort können Sie die Optionen für dieses Kernelmodul eintragen, in meinem Fall:
type=3 irq=5 io=0xd80
Nachdem Sie die Einträge mit OK bestätigt haben, wird versucht, das Modul zu laden. Wenn es funktioniert, erscheint eine entsprechende Erfolgsmeldung auf dem Bildschirm, andernfalls wird eine Fehlerursache angezeigt.
Softwarevoraussetzung
Neben dem Paket i4l, als Teil dessen vbox installiert wird, benötigen Sie für das Verschicken als E-Mail:
|
Postfix: als Mailserver |
|
sox: Wandelt Audioformate um. |
|
lame: Erzeugt aus WAV-Dateien MP3s. |
|
metamail: Bindet Audiodateien in E-Mails ein. |
Für siegfried gilt, dass von mir alles vorkonfiguriert wurde, die benötigte Software ist also vorhanden und muss nur noch minimal angepasst werden.
SUSE
Sie können bei SUSE zur Konfiguration von vbox oder SUSEVbox als Benutzer root das grafische Programm SUSEVboxConf verwenden. Die Benutzer können zum Abhören ihrer Nachrichten SUSEVbox benutzen. Beide Pakete sind offensichtlich seit 1998 nicht mehr weiterentwickelt worden und entsprechen daher nicht mehr den aktuellen Designvorstellungen.
Konfiguration
vbox besteht aus aus vier Komponenten:
|
vboxgetty: Nimmt Anrufe entgegen und zeichnet Nachrichten auf |
|
Vboxd: Fernabfragedienst (wird hier nicht behandelt) |
|
Vboxmail: Verschickt eingegangene Nachrichten per Mail |
|
Vboxplay: Abhören neuer Nachrichten aus der Shell |
Ich werde das Abhören von Nachrichten über Fernabfrage, vboxplay oder KAM2 (KDE Answering Machine 2) nicht beschreiben, weil ich die Möglichkeiten von Voicemail für ausreichend halte.
vboxgetty.conf
Die Grundkonfiguration von vbox wird in der Datei /etc/isdn/vboxgetty.conf vorgenommen. Im Abschnitt Global Settings for all Ports werden Einstellungen u. a. zur Kompression eingetragen. Diese Einstellungen sollten Sie nicht ohne Notwendigkeit verändern. Sie finden weitere Informationen zu diesen Einstellungen im Handbuch /usr/share/doc/isdnvboxserver/vbox.txt.gz bei KNOPPIX/siegfried oder in /usr/share/doc/packages/i4l-vbox/vbox.txt bei SUSE.
Nachfolgend gibt es zwei weitere Abschnitte, die sich auf logische ISDN-Kanäle (Ports) beziehen. Für jede MSN müssen Sie einen Eintrag definieren, diese logischen ISDN-Kanäle heißen /dev/ttyI<Nr.>. In der Beispielkonfiguration gibt es nur einen Port, nämlich den /dev/ttyI6:
modeminit ATZ&B512&E1234567
user knoppix
group users
spooldir /var/spool/vbox/knoppix
vboxconfig /var/spool/vbox/knoppix/vbox.conf
Die erste Zeile beginnt mit modeminit, dem Befehl für die Initalisierung des ISDN-Kanals. ATZ, einigen von Ihnen vielleicht noch von Modems bekannt, hebt ab, B512 erzeugt Blockgrößen von 512 Bytes und E1234567 reagiert auf die Rufnummer (MSN) 1234567.
Sie müssen an dieser Stelle üblicherweise lediglich die Rufnummer ändern. Tragen Sie nur die Rufnummer ohne Vorwahl ein, also für die Rufnummer 0211-555666777 nur 555666777!
Die weiteren Einstellungen betreffen den Benutzer, unter dessen Konto der Prozess läuft und dem die Voicemail zugestellt wird, außerdem gibt es einige Einstellungen zu Verzeichnissen.
Ein hier angegebenes Verzeichnis muss existieren! Lesen Sie im Abschnitt Mehrbenutzerbetrieb, wie Sie für eine weitere MSN die Einrichtung vornehmen.
Sie können, nachdem Sie Ihre MSN eingetragen haben, bereits ausprobieren, ob es funktioniert. Als Benutzer root rufen Sie vbox wie folgt auf:
vboxgetty -d /dev/ttyI6
Nach sechs Klingelzeichen sollten Sie eine Ansage hören, nach dem »Piep« können Sie Ihre Nachricht aufsprechen. Wenige Sekunden später finden Sie in der Systemmailbox des Benutzers knoppix eine entsprechende Nachricht. Diese können Sie beispielsweise mit dem Befehl mail oder mutt ansehen, jedoch noch nicht abhören.
Fehler?
Fehler finden Sie in der Datei /var/log/vbox/vboxgetty-ttyI6.log, wenn Sie mehr Informationen benötigen, sollten Sie die Debugausgabe in der Datei /etc/isdn/vboxgetty.conf mittels
debuglevel FEWIDJ
einschalten. Die Standardeinstellung FEW loggt nur Fehler und Warnungen.
/etc/inittab
Ich gehe davon aus, dass Ihr Telefonanruf erfolgreich war und Sie zukünftig möchten, dass bei einem eingehenden Telefonanruf automatisch vbox den Anruf - nach der eingestellen Anzahl von Klingelzeichen - entgegennimmt. Durchsuchen Sie die Datei /etc/inittab nach dem Stichwort »vbox« und entfernen Sie das Kommentarzeichen (»#«) vor der folgenden Zeile:
I6:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6
Damit Ihre Einstellung wirksam wird, müssen Sie die inittab neu einlesen lassen, ohne Boot können Sie das mit dem Befehl init q als Benutzer root tun. Ab sofort werden auch ohne manuellen Start von vboxgetty Anrufe entgegengenommen.
Erweiterungen
Nachdem es grundsätzlich funktioniert, haben Sie sicherlich das Bedürfnis, vbox mehr an Ihre Bedürfnisse anzupassen.
Einstellungen
Wann, welche Ansage, wie lange die Aufzeichnungsdauer ist oder hinter welcher Rufnummer sich ein Anrufername verbirgt - all das konfigurieren Sie in der Datei /var/spool/vbox/knoppix/vbox.conf:
Im Abschnitt [CALLERIDS] können Sie die Zuordnung von Rufnummern zu Anrufernamen vornehmen:
Tabelle 2.2
Beispiele für CALLERIDS
| Pattern
|
Section
|
Realname
|
| 177111222333
|
Mutti
|
Mutti Handy
|
| 177*
|
HANDY
|
E-Plus-Netz
|
| 211555666777
|
*
|
Mutti
|
| *
|
-
|
*** Unknown ***
|
Die unterste Zeile muss erhalten bleiben und ganz unten stehen! Die spezielleren Pattern müssen immer oberhalb der allgemeineren Pattern stehen, sonst werden sie nicht angewendet.
Pattern meint die Rufnummer ohne führende Null. Sie können UNIX-Pattern verwenden und so z. B. einen ganzen Durchwahlbereich einer Firma zuordnen.
Section hat Auswirkungen auf die weitere Verarbeitung des Anrufes. Sie können die üblichen Ansagen gelten lassen, dann benutzen Sie »-« oder Sie möchten eine bestimmte Section verwenden, dann geben Sie deren Namen an, alternativ wird mit »*« die Section mit dem unter Realname eingetragenen Namen verwendet.
Der zweite Abschnitt [RINGS] ist für die Anzahl der Klingelzeichen, die zu bestimmten Tagen und/oder Uhrzeiten gelten, zuständig. In der Voreinstellung wird nachts und früh morgens (23.30 Uhr bis 8.59 Uhr) lediglich ein Klingelzeichen abgewartet, bevor die Nachricht entgegengenommen wird. In der übrigen Zeit werden sechs Klingelzeichen abgewartet.
Der unterste Abschnitt betrifft die Sections. In der mitgelieferten Datei gibt es lediglich [STANDARD], dieser sollte auch erhalten bleiben. Korrespondierend zu dem Beispiel für die Callerids (siehe oben), müssten hier zwei weitere Sections, [HANDY] und [Mutti], mit jeweils eigenen Einstellungen existieren.
Ansagen
Die von mir aufgesprochene Standardansage ist zwar allgemein gehalten, Sie möchten jedoch sicherlich Anrufer persönlich begrüßen.
Es gibt zwei Möglichkeiten, wie Sie eigene Ansagen erzeugen können. Die erste und sehr einfache Möglichkeit - bei etwas schlechterer Qualität - ist es, auf den eigenen Anrufbeantworter zu sprechen und diese Nachricht dann als Ansage zu kopieren1
:
cd /var/spool/vbox/knoppix/
cp incoming/<Dateiname>.vmsg messages/standard.msg
Die Ansage standard.msg wird - laut Konfiguration in vbox.conf - zwischen 12.00 Uhr und 17.59 Uhr verwendet. Achten Sie beim Kopieren darauf, dass Sie als Benutzer KNOPPIX arbeiten oder die Dateirechte für den Benutzer richtig setzen.
Wenn Ihnen diese Möglichkeit nicht ausreicht, dann können Sie eine beliebige WAV-Datei in Mono z. B. mit dem Micosoft Windows Audiorecorder erzeugen. Kopieren Sie diese Datei in das Homeverzeichnis von Benutzer KNOPPIX und wandeln Sie die Datei (Beispiel: datei.wav) wie folgt um:
sox datei.wav -r 8000 datei.au rate stat
autovbox < datei.au > datei.msg
Die Datei datei.msg können Sie nun als standard.msg in das Verzeichnis /var/spool/vbox/knoppix/messages legen.
Mehrbenutzerbetrieb
Vermutlich möchten Sie vbox auch deshalb benutzen, weil Sie mehr als eine Mailbox haben möchten.
Ein Familienmitglied hat eine eigene Rufnummer und soll entsprechend auch eine eigene Voicebox bekommen. Die aufgezeichneten Nachrichten werden per E-Mail an einen GMX-Account weitergeleitet.
Zur Lösung der Aufgabe benötigen Sie einen eigenständigen Benutzer auf dem Netzwerkserver. Sie können den Webmin verwenden, um neue Benutzer anzulegen. Im Folgenden gehe ich davon aus, dass der Benutzer «klaus" heißt.
Der nächste Schritt ist, dass Sie das Verzeichnis als root von Benutzer KNOPPIX unter /var/spool/vbox/ für diesen Benutzer kopieren:
cp -a /var/spool/vbox/knoppix /var/spool/klaus
und dem Benutzer klaus dieses Verzeichnis inklusive aller Unterordner und Dateien zuweisen:
chown -R klaus:users /var/spool/vbox/klaus
Grundsätzlich haben Sie jetzt die wichtigsten Vorarbeiten erledigt. Sie müssen jetzt nur dafür sorgen, dass bei einem Anruf für die Rufnummer von klaus das Programm vboxgetty startet und eine Nachricht aufnimmt. Diese Einstellung wird in der Datei /etc/isdn/vboxgetty.conf durchgeführt:
modeminit ATZ&B512&E7654321
user klaus
group users
spooldir /var/spool/vbox/klaus
vboxconfig /var/spool/vbox/klaus/vbox.conf
Sie können den Block für den Benutzer KNOPPIX kopieren. Wichtig ist, die Rufnummer von klaus im modeminit einzutragen (hier 7654321) und Einstellungen von »knoppix« auf »klaus« zu verändern.
In der Datei /etc/inittab müssen Sie nun noch einen zweiten - nur logisch vorhandenen - ISDN-Kanal eintragen:
I7:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI7
Dieser muss mit einer anderen Nummer am Anfang (I7) beginnen und auf ein anderes logisches Gerät (engl. device) verweisen (/dev/ttyI7). Nach dem erneuten Einlesen der init-Konfiguration mittels init q als Benutzer root sollte es schon funktionieren.
Sicherlich möchten Sie die Ansage nun für klaus individuell anpassen, in dessen /var/spool/vbox/klaus/vbox.conf eigene Einstellungen vornehmen u. ä.
.forward
Die Weiterleitung der Voicemails für den Benutzer klaus können Sie übrigens sehr einfach über eine Datei .forward erreichen. Legen Sie im Verzeichnis /home/klaus eine Datei .forward an und tragen Sie folgenden Inhalt ein:
klaus@gmx.de
Alle E-Mails für den Benutzer klaus werden nun an die eingetragene E-Mail-Adresse (klaus@gmx.de) weitergeleitet, mehrere E-Mail-Adressen verteilen Sie auf mehrere Zeilen.
Voicemail
Das original Voicemail-Programm2
hat Benutzer lediglich über eine neue Nachricht informiert, abzuhören waren die Nachrichten dann über Fernabfrage. Ich habe für siegfried ein verändertes Voicemail-Programm verwendet, das die erzeugten .vmsg-Dateien in MP3 umwandelt und an die Nachricht hängt. Es wurde von Malte Wetz (http://www.malte-wetz.de) geschrieben und von mir leicht angepasst.
Die Anpassung betrifft drei Dinge:
|
Rufnummernangabe mit führender Null3
|
|
Absenderadresse wertet /etc/mailname aus. |
|
vmsg-Dateien werden gelöscht. |
Im Text der Voicemail steht die Rufnummer korrekt mit führender Null, eine rein kosmetische Korrektur. Der Absendername war phone@localhost, das kann zu Problemen führen, wenn jemand mal auf Antworten klickt. Korrekterweise wird daher die Datei /etc/mailname ausgewertet, in der der Internetdomänenname Ihres Servers - zum Beispiel pcnetzwerke.dyndns.org - im Klartext steht.
Die aufgezeichneten Nachrichten wurden im Ordner /var/spool/vbox/ <Benutzer>/incoming gesammelt und würden im Zweifelsfall die ganze Festplatte in Beschlag nehmen. Deshalb wurde die Zeile
$MTA < $MIMEMSG && rm -f $MSNAME
in das Programm /usr/sbin/vboxmail eingetragen, diese löscht, bei erfolgreichem Versand der Nachricht, die Datei aus incoming. Wenn Sie das nicht möchten4
, dann fügen Sie am Anfang dieser Zeile ein »#« ein - das deaktiviert diese Zeile - und entfernen Sie das Kommentarzeichen in der Originalzeile darüber, fertig. Die Änderung ist beim nächsten Anruf aktiv:
# uncommend the line below, if you want to keep vmsg
$MTA < $MIMEMSG
# Send Message and delete original vmsg-message
#$MTA < $MIMEMSG && rm -f $MSNAME
Wenn Sie die Nachrichten leicht und einfach weiterleiten wollen, weil Sie das Systempostfach von Benutzer knoppix nicht verwenden wollen, dann probieren Sie die Weiterleitung mittels .forward-Datei im Verzeichnis /home/knoppix. Sie legen eine Textdatei .forward an, deren Inhalt die Adresse(n) sind, an die jede Mail weitergeleitet wird. Pro Zeile schreiben Sie eine Empfängeradresse, im einfachsten Fall:
<Name>@<E-Mail-Domain>.de
Das war es schon. So können Sie auch eine ganze Familie mit einer neuen Voicemail beglücken.
2.9.2 Vbox mit einem analogen Modem
 
Nicht jeder verfügt an jedem Ort über einen ISDN-Anschluss. Der Vollständigkeit halber möchte ich Ihnen deshalb auch kurz die Möglichkeit vorstellen, Ihr altes analoges Modem für die Funktion des Anrufbeantworters zu nutzen.
Hardware
Ich habe ein Acer Modem 56 Surf für meine Tests verwendet. Der Anschluss dieses Modems erfolgt an der seriellen Schnittstelle. Die Sprachqualität war noch etwas schlechter, als man sie von einem gewöhnlichen Anrufbeantworter kennt.
Software
Die Pakete mgetty und mgetty-voice müssen bei Debian installiert werden. siegfried verfügt bereits über diese Pakete, bei Suse 9.0 ist die Software in der Standardauswahl enthalten.
serielle
Schnittstelle
Der erste Schritt ist die Konfiguration der seriellen Schnittstelle. Im Ergebnis wird ein Dienst an dieser Schnittstelle über das eingeschaltete Modem auf eingehende Anrufe warten. Sie verwenden das Modul Hardware . Voicemail Server . Serial Port Configuration. Sie klicken auf Add a new serial port und wählen aus der Liste den seriellen Port aus, an dem Ihr Modem hängt (vgl. Abbildung 14.72). Der Port ist eigentlich nebensächlich, viel wichtiger ist das Devicefile. Wie jede Hardware in einem Linux-Betriebssystem verbirgt sich auch der serielle Port hinter einer Datei. Dabei entspricht in der Regel das Devicefile /dev/ttyS0 dem seriellen Port Nr. 1, /dev/ttyS1 dem seriellen Port Nr. 2 usw. Sollte also das Modem nicht über ein Standard-Devicefile erreichbar sein, können Sie mit Other Device... eine andere Gerätedatei bestimmen.
Weiter geht es mit dem Modul Hardware . Voicemail Server . Voicemail Server Options. Die zur Verfügung stehenden Einstellungsmöglichkeiten sprechen für sich (vgl. Abbildung 14.73). Sie können theoretisch auch andere Daten als Voicedaten empfangen und weiterverarbeiten. Es kann sein, dass der Eintrag Unix Group for message files von Ihnen noch mit einer Gruppe belegt werden muss, die auch auf dem System existiert. Bei mir musste es unbedingt die Gruppe root sein, sonst wurden in der Logdatei /var/log/vgetty.log diverse Fehler geschrieben. Sie können direkt bestimmen, was der Anrufbeantworter im Anschluss an die Aufzeichnung mit der Nachricht machen soll. Um die Nachricht als E-mail-Anhang zu verschicken, tragen Sie im Feld After recording message . Email in WAV format to die E-Mail-Adresse eines Empfängers ein. Nach einem Klick auf Speichern und Apply Configuration ist der Anrufbeantworter mit Ihren persönlichen Einstellungen aktiv. Um die Nachricht verschicken zu können, muss natürlich ein Mail Transfer Agent wie der Postfix aktiv sein. Wie das funktioniert, erfahren Sie in Kapitel 14.8, Mailserver.
Ansagetext
Um eine Begrüßungsnachricht einzuspielen, müssen Sie sich zunächst selber anrufen und Ihre Ansage aufsprechen. Im Anschluß sehen Sie im Modul Hardware . Voicemail Server . Received Messages die von Ihnen aufgesprochene Nachricht (vgl. Abbildung 14.74). Markieren Sie die Nachricht und klicken Sie auf Convert selected to greetings! Die Nachricht ist nun zur Begrüßungsnachricht Ihres Anrufbeantworters geworden.
Nachrichten löschen
Ganz ähnlich funktioniert auch das Löschen von alten Nachrichten. Sie markieren dazu die entsprechenden Nachrichten und klicken auf Delete selected messages.
Probieren Sie einmal aus, ob Ihr Browser die Nachricht abspielen kann! Mit einem Klick auf den Link mit dem Datum der Nachricht öffnet sich ein Fenster, und Sie können die Nachricht mit etwas Glück hören. Ich habe allerdings keine zufriedenstellende Qualität hinbekommen. Bei sehr kurzen Nachrichten (< fünf Sekunden) ist es außerdem vereinzelt vorgekommen, dass mein Modem sich »verschluckt« hat.
Fazit
Ein analoges Modem sollte man im Alltag nur bedingt als Anrufbeantworter einsetzen. Je nach Bauart des Modems ist eine bessere oder schlechtere Qualität zu erwarten.
2.9.3 Alternativen
 
Wenn Sie nicht gewillt sind, einen Server rund um die Uhr zu betreiben, damit dort Nachrichten aufgenommen werden können, gibt es alternativ die Möglichkeit, bei einigen Freemail-Anbietern ebenfalls Voicemail-Accounts zu bekommen.
Meiner Meinung nach bietet Arcor (http://www.arcor.de) die meisten Möglichkeiten hinsichtlich Voicemail. Sie können eigene Ansagen aufsprechen und die Nachrichten gesondert mittels Filterregeln sortieren lassen.
|